试题查看

首页 > 软件水平考试 > 试题查看
【分析解答题】

[说明]
在某些系统中,存在非常复杂的对象,可以采用循序渐进的方式进行组合将小对象组合,成复杂的对象。
以下实例展示了BuilDEr(生成器)模式。该实例用来建立“文件”,文件内容包括:一个标题、一串字符以及一些有项目符号的项目。BuilDEr类规定组成文件的方法,DirECtor类利用这个方法产生一份具体的文件。图6-1显示了各个类间的关系。

以下是jAvA语言实现,能够正确编译通过。
[jAvA代码]
//BuilDEr. jAvA文件
puBliC (1) ClAssBuilDEr
puBliC ABstrACt voiD mAkEtitlE(string titlE);
puBliC ABstrACt voiD mAkEstring(string str);
puBliC ABstrACt voiD mAkEitEms(string[] itEms);
puBliC ABstrACt oBjECt gEtrEsult();
//DirECtor. jAvA文件
puBliC ClAssDirECtor
privAtE (2) BuilDEr;
puBliCDirECtorBuilDEr BuilDEr)
this. BuilDEr = BuilDEr;
puBliC oBjECt ConstruCt()
BuilDEr.mAkEtitlE("grEEting");
BuilDEr.mAkEstring("从早上到白天结束");
BuilDEr.mAkEitEms(nEw string[]"早安", "午安",);
BuilDEr.mAkEstring("到了晚上");
BuilDEr.mAkEitEms(nEw string[]("晚安", "好梦",);
rEturn BuilDEr.gEtrEsult();
//tExtBuilDEr.jAvA文件
puBliC ClAss tExtBuilDEr (3) BuilDEr
privAtE stringBuFFEr BuFFEr = nEw stringBuFFEr();
puBliC voiD mAkEtitlE(string titlE)
BuFFEr.AppEnD("『" + titlE + "』"\n\n");
puBliC voiD mAkEstring(string str)
BuFFEr.AppEnD(’■’ + str + "\n\n ");
puBliC voiD mAkEitEms(string[] itEms)
For(int i = 0; i< (4) ; i++)
BuFFEr.AppEnD(’·’ + itEms[i] + "\n");
BuFFEr.AppEnD("\n");
puBliC oBjECt gEtrEsult()
rEturn BuFFEr.tostring();
//mAin.jAvA文件
puBliC ClAss mAin
puBliC stAtiC voiD mAin(string[] Args)
DirECtor DirECtor = nEwDirECtor(nEw tExtBuilDEr());
string rEsult = (string)DirECtor. (5) ;
systEm.out.println(rEsult);

查看答案解析

参考答案:

正在加载...

答案解析

正在加载...

根据网考网移动考试中心的统计,该试题:

0%的考友选择了A选项

0%的考友选择了B选项

0%的考友选择了C选项

0%的考友选择了D选项

你可能感兴趣的试题

[说明]在某些系统中,存在非常复杂的对象,可以采用循序渐进的方式进行组合将小对象[说明]图3-1描述某超市销售数据的部分处理流程。超市中有若干台收款机和若干名收[说明]公司IT部门决定开发一个计算机管理系统以记录期刊的传阅情况。期刊在公司内[说明]假定用一个整型数组表示一个长整数,数组的每个元素存储长整数的一位数字,则[说明]在某些系统中,存在非常复杂的对象,可以采用循序渐进的方式进行组合,将小对[说明]在某些系统中,存在非常复杂的对象,可以采用循序渐进的方式进行组合将小对象